Machines and facilities are frequently controlled on the basis of control systems programmable from memory (SPS). For this purpose, a microcomputer is generally used in order to execute a program which retrieves the states of a number of sensors connected to the machine or facility, respectively, and accesses a number of actuators connected to the machine or facility, respectively, on the basis of the determined states. Complex machines or facilities, respectively, may comprise a plurality of sensors and actuators and make high demands on the performance of the microcomputer.
In order to control the machine or facility, respectively, the microcomputer frequently executes a number of programs in parallel. The programs may interact with each other or be independent from each other. Different programs make different demands to the microcomputer, e.g. when it comes to a minimum guaranteed response time to a status change of a sensor or to the frequency of a sampling of a sensor or, as the case may be, to outputting an actuator value.
Up to a certain degree, the increased demands to the control system may be met by means of a microprocessor which is clocked faster in the microcomputer. Due to the physical conditions, this kind of power enhancement, however, cannot be increased as desired so that current microprocessors predominantly rely on several computing cores operating in parallel in order to increase their power. Methods used in the past for controlling a defined sequence of several programs for controlling machines by means of only one computing core are hardly suitable for distributing programs to a plurality of computing cores.
DE 196 48 422 C2 proposes to alternately distribute an available computing time of a computing core to a real-time capable program for controlling such a machine and to a non-real-time capable operating system by means of a time-slice control. The proposed time-slice control is controlled by means of a programmable timer which causes an interrupt (INT) in the computing core upon expiration of a predefined amount of time. The computing time allotted to the operating system may be determined independently from the computing time allotted to the control program.